1. Field of the Invention
The present invention relates to an information processing system for processing an application program, more particularly to an information processing system having a power control function for controlling a power mode of the system between a run mode at which whole of the system is powered and a standby mode at which part of the system is powered to save the power consumption.
2. Description of the Related Art
The inventors of the present application know that there has been theretofore proposed an example of an information processing system having a power control function as shown in FIG. 1. As shown, the information processing system is arranged to have a power control unit 11 for controlling a power supply of the overall system, a keyboard input unit 12 for converting a pressed key of a keyboard 15 into the corresponding data, a central processing unit (CPU) 13 for controlling an operation of the system, and a storage unit for storing the data to be processed.
In operation, in an initial state, the system stays at a sleep mode or a standby mode in which no power is put into the CPU 13 and the storage unit 14 so that the overall system may be held at low power consumption. At this mode, the signal corresponding to a pressed key of the keyboard 15 is generated by the keyboard input unit 12 and then is output onto a signal line. If any key of the keyboard 15 is pressed, the power control unit 11 puts the power into the CPU 13 and the storage unit 14 in response to the signal generated from the keyboard input unit 12 by pressing the key. Then, the system control is passed to the CPU 13.
The above operation makes it possible to put the power into the system only by pressing any key of the keyboard 15.
The arrangement of the information processing system provided with the power control unit will be described as referring to FIG. 2 for understanding the system more concretely.
FIG. 2 is a block diagram showing a known information processing system. As shown, a numeral 21 denotes a power source. The power source supplies power to a power control unit 22 for controlling how the system is powered on and off. A numeral 23 denotes a keyboard control unit for controlling a keyboard 24. A numeral 25 denotes a central processing unit (CPU). A numeral 26 denotes a main storage unit. A numeral 27 denotes a display unit.
The power control unit 22, the keyboard control unit 23, the CPU 25 and the main storage unit 26 are connected to one another through a system bus 28. The keyboard control unit 23, the power control unit 22 and the CPU 25 are connected by a keyboard interrupt control line 29 to supply from the keyboard control unit 23 to the power control unit 22 and the CPU 25 a keyboard interrupt signal. The power control unit 22 and the CPU 25 are connected by a standby interrupt control line 30 to supply from the power control unit 22 to the CPU. The power control unit, the CPU, and the display unit 27 are connected by a power supply line 31 to supply the CPU 31 and the display unit 27 with the power.
The power control unit is provided with a key input monitor section 221 for monitoring a key input sent from the keyboard control unit 23 and a power control section 222 for controlling the power-on and power-off of the CPU 25 and the display unit 27.
The keyboard control unit is provided with a key code register 231 for storing a key code for any key on the keyboard 24.
The keyboard 24 has N keys 24-1 to N. A numeral 24-A denotes a standby key allocated for transferring the system power mode to a standby mode.
In the CPU, there is provided with a group of registers 251.
The main storage 26 has a storage area 261 for the register group for saving the content of the register group 25 immediately before transferring the power mode to the standby mode and a key code queue 262 for storing key code information. A numeral 263 denotes an application program located in the main storage unit 26, the program being processed by the CPU 25. A numeral 264 denotes a standby interrupt program to be started when a standby interrupt takes place. A numeral 265 denotes a restart processing program to be started at first when powered. A numeral 266 denotes a keyboard interrupt program to be started when a keyboard interrupt takes place.
Next, the description will be oriented to the power control unit 11 of the known system as referring to FIG. 3.
FIG. 3 is a block diagram showing the power control unit 22. As shown, the power control unit 22 is composed of the key input monitor unit 221 and the power control section 222. The key input monitor unit 221 has a standby timer 2211 to be incremented if no keyboard interrupt signal is generated within a certain interval of time. The power control section 222 has a power control register 2221 for storing power control information.
Then, the description will be oriented to the operation of the known system based on the arrangements shown in FIGS. 2 and 3.
In the known system, the power control unit 22, the keyboard control unit 23 and the main storage unit 26 are constantly powered on. The power is fed to the CPU 25 and the display unit 27 on the power supply line 31. The power control unit 22 serves to power on and off the CPU 25 and the display unit 27.
The known system provides two modes, a run mode and a standby mode. At the run mode, the power control unit 22, the keyboard control unit 23, the keyboard control unit 23, the CPU 25, the main storage unit 28 and the display unit 27 are all powered on. At the standby mode, the power control unit 22, the keyboard control unit 23 and the main storage unit 26 are powered on but the CPU 25 and the display unit 27 are powered off.
The key input monitor section 221 monitors the keyboard interrupt signal. If no key input is given for a certain time, the unit 221 sends out the standby interrupt signal onto the standby interrupt control line 23 so that a standby interrupt may be issued to the CPU 25. The standby timer 2211 is an up counter to be incremented at each period of T seconds and is cleared by the keyboard interrupt signal sent on the keyboard interrupt control line 29. If any key input takes place, the standby timer 2211 is set to an initial value, zero. If no key input takes place, the standby timer 2211 is incremented at each period of T seconds. The key input monitor section 221 determines whether or not the standby timer 2211 has a higher value than a predetermined standby timeout value Sto. If the standby timer 2211 has a higher value than the standby timeout value Sto, that is, if no keyboard interrupt signal is sent out of the keyboard control unit 23 for an interval of Sto.times.T represented by a product of the standby timeout value Sto and the period T seconds, the key input monitor unit 221 sends out the standby interrupt signal to the standby interrupt control line 30.
The power control unit 22 can power on or off the power supply line 31 according to the value set to the power control register 2221. That is, if the power control register 2221 stores a value of "1", the power supply line 31 is powered so that the CPU 25 and the display unit 27 are powered on, thereby putting the power mode to a run mode. If the power control register 2221 stores a value of "0", the power control section 222 powers off the power supply line 31, the CPU 25 and the display unit 27, thereby putting the power mode to the standby mode. If a keyboard interrupt signal is input, the power control section 222 stores a value of "1" in the power control register 2221. That is, at the standby mode, the CPU 25 and the display unit 27 are powered so as to change the mode from the standby mode to the run mode.
In a case that the system is at the run mode and the CPU 25 executes the application program 263, assume that a user presses any key 24-M except the standby key 24-A of the keys 24-1 to N for handling the application program 263. The keyboard control unit 23 stores a key code for the pressed key 24-M and the key code data Qm formed by setting the key press data to "1" in the key code register 231 and then sends out the keyboard interrupt signal to the keyboard interrupt control line 29. By sending out the keyboard interrupt signal onto the keyboard interrupt control line 29, a keyboard interrupt takes place in the CPU 25 and then the keyboard interrupt program 266 is started.
FIG. 4 shows the content of the keyboard interrupt program 266. If the keyboard interrupt takes place, the control is started. At a step 41, the CPU 25 reads the key code data Qm from the key code register 231. Then, at a step S42, it is determined if the standby key 24-A is pressed from the key code of the key code data Qm. In this case, since the user presses the key 24-M except the standby key 24-A, the control is passed to the step S43. At this step, the key code data Qm is stored in the key code queue 262 and then the system returns from the keyboard interrupt program 266. The application program 263 reads the key code data Qm stored by the keyboard interrupt program 264 from the key code queue 262 if necessary and performs the processing for the pressed key. As mentioned above, the key input from the user to the application program is made possible.
Next, the description will be oriented to how the processing is carried out if the standby key is pressed at the run mode.
In a case that the system stays at the run mode and the user presses the standby key 24-A for transferring the system mode to the standby mode, the keyboard control unit 23 stores in the key code register 231 the key code data Qa formed by setting to "1" the key code and the key press data for the pressed standby key 24-A and sends out the keyboard interrupt signal onto the keyboard interrupt control line 29. By sending the keyboard interrupt signal to the keyboard interrupt control line 29, the keyboard interrupt takes place in the CPU 25. Then, the keyboard interrupt program 266 is started.
Turning to FIG. 4 showing the content of the keyboard interrupt program 266. The keyboard interrupt is performed to transfer control to the keyboard interrupt processing. At the step S41, the CPU 25 reads the key code data Qa from the key code register 231 and then control is passed to the step S42. At the step, it is determined whether or not the standby key 24-A is pressed on the key code of the key code data Qa. In this case, since the user presses the standby key 24-A, the control is passed to the step S44. At this step, the content of the register group 251 needed when the processing is restarted is stored in the storage area 261 of the register group in a manner to restart the processing immediately before the keyboard interrupt takes place if the CPU 25 cuts off the system power and then turns on the power. The control is passed to the step S45. At this step, the CPU 25 stores the power control data "0" in the power control register 2221 and then terminates the processing. As mentioned above, the CPU 25 operates to store the power control data "0" in the power control register 2221. Hence, the power control section 222 powers off the power supply line 31 and then the CPU 25 and the display unit 27.
This is the process of transferring a system mode to the standby mode if the user presses the standby key 24-A.
Next, the description will be oriented to how the processing is carried out if no key input is given for an interval of Sto.times.T seconds at the run mode.
If no keyboard interrupt is issued by the keyboard control unit 23 for an interval of Sto.times.T seconds, the key input monitor section 221 sends out a standby interrupt signal onto the standby interrupt control line 30. By sending the standby interrupt signal onto the standby interrupt control line 30, a standby interrupt takes place in the CPU 25 so that the standby interrupt program 264 may be started.
How the standby interrupt program 264 is operated will be described with reference to FIG. 5. The control is started when a standby interrupt takes place. At a step S51, the content of the register group 251 needed for restarting the processing immediately before the standby interrupt takes place is stored in the storage area 261 of the register group in a manner to restart the processing immediately before the standby interrupt takes place if the CPU 25 cuts off the system power and then turns on the power. Then, the control is passed to a step S52. At the step S52, the CPU 25 stores the power control data "0" in the power control register 2221 and then terminates the processing. Since the CPU 25 stores the power control data "0" in the power control register 2221, the power control unit 222 turns off the power supply line 31 and then the CPU 25 and the display unit 27. As mentioned above, if a user does not press any key for a constant interval of Sto.times.T seconds, the system mode can be automatically transferred to the standby mode.
Next, the description will be oriented to how the processing is carried out if any key is pressed at the standby mode.
If the system stays at the standby mode and a user presses any key 24-K on the keyboard, the keyboard control unit 23 stores in the key code register 231 the key code data Qk formed by setting to "1" the key code and the key press data for the pressed key 24-K and sends out a keyboard interrupt signal onto the keyboard interrupt control line 29. The keyboard interrupt signal is transmitted to the power control unit 22 through the keyboard interrupt signal control line 29.
How the power control unit 2221 operates will be described as referring to FIG. 3. The keyboard interrupt signal input from the keyboard interrupt control line 29 is transmitted to the power control section 222. In response to the keyboard interrupt signal, the power control section 222 stores a value of "1" in the power control register 2221. Hence, the power control section 222 powers on the power supply line 31 and then the CPU 25 and the display unit 27. The CPU 25, powered by the power control section 222, operates to start the restart program 265 for the first time.
Then, how the restart program 265 is operated will be described as referring to FIG. 6. By powering on the CPU 25, the restart program 265 is started. At a step S61, the CPU 25 operates to return to the register group 251 the content of the register group storage area saved immediately before transferring the system mode to the standby mode. This makes it possible to return to the application program 26 operated immediately before transferring to the standby mode.
In turn, the description will be oriented to how the power mode is transferred in the system according to the known art.
In FIG. 7, a numeral 41 denotes the run mode and a numeral 42 denotes the standby mode. If the system stays at the standby mode 42, the transfer condition from the mode to the run mode 41 is any key input of the keys 24-1 to N. If the system stays at the run mode 41, the transfer condition to the standby mode 42 is an input of the standby key 24-A or the state that no key input takes place for more than an interval of Sto.times.T seconds.
As mentioned above, by inputting any key input to the application program at the run mode and pressing the standby key at the run mode, the system mode is shifted to the standby mode. Further, if no key input is issued for a certain interval or more at the run mode, that is, if a user does not use this system for a certain time or more, the system mode is automatically transferred to the standby mode. Moreover, by pressing any key on the keyboard, the system mode can be shifted to the run mode.
According to the foregoing process, by transferring to the run mode by pressing any key at the standby mode, it is possible to restart the processing immediately before transferring to the standby mode. The foregoing known system can use an interrupted application program at once. Further, if a user does not use the system for a certain time, the system mode is automatically transferred from the run mode to the standby mode.
However, the known system may be powered on by unintentional press of a key, for example, by placing something on the keyboard. In this case, the known system consumes unnecessary power if it is not use.
More concretely, if something is placed on the keyboard at the standby mode, the system mode is unintentionally transferred to the run mode. Further, if it is placed on the keyboard at the run mode, the automatic transfer of the run mode to the standby mode is disallowed unless the user uses the system for a certain time. Moreover, If the information processing system is a portable type, something comes into contact with the system when it is in a bag so that an unintentional key input may take place. That is, though the user has no intention of using the system, the system mode is unintentionally transferred from the standby mode to the run mode. This results in consuming unnecessary power. If the system is battery-driven, the life of the-battery is made shorter.